/*
 * Copyright 2008-2023 dexian.vip. All rights reserved.
 * Support: http://www.dexian.vip
 * License: http://www.dexian.vip/license
 */

package vip.dexian.admin.dto;

import vip.dexian.admin.enums.DataScopeEnum;
import vip.dexian.core.base.bean.BaseDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.io.Serial;
import java.util.List;

/**
 * 角色 DTO
 *
 * @author 挺好的 2023年06月02日 08:45:40
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@EqualsAndHashCode (callSuper = true)
public class RoleDTO extends BaseDTO <Long> {

    @Serial
    private static final long serialVersionUID = -2233068746464502321L;

    /**
     * 标识
     */
    private String identity;

    /**
     * 名称
     */
    private String name;

    /**
     * 描述
     */
    private String description;

    /**
     * 系统内置。1：是，0：否
     */
    private Boolean isSystem;

    /**
     * 数据权限
     */
    private DataScopeEnum dataScope;

    /**
     * 角色 -> 部门关联
     */
    private List <RoleDepartmentDTO> roleDepartments;

    /**
     * 权限
     */
    private List <String> authorities;

    /**
     * 排序
     */
    private Integer order;

}